﻿using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Web.Security;
using insidedotnet.UI;

public partial class AdminCriarAnuncio : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        this.Title = AcheiCampinasConfiguration.SiteName +
            " : criar anúncio de produto ou serviço.";
        // Fill the controls with data only on the initial page load
        if (!IsPostBack)
        {
            // Fill controls with data
            PopulateControls();
        }
    }

    // Populate the controls
    private void PopulateControls()
    {
        // Fill categoriesLabel and categoriesListRemove with data
        string categoryId, categoryName, empresaId, empresaName;
        DataTable productCategories = CatalogAccess.GetCategorias();
        DataTable empresasCliente = CatalogAccess.GetEmpresasClienteMenor10();

        for (int i = 0; i < productCategories.Rows.Count; i++)
        {
            // obtain category id and name
            categoryId = productCategories.Rows[i]["categoriaID"].ToString();
            categoryName = productCategories.Rows[i]["nome"].ToString();
            // populate the list boxes
            categoriesListAssign.Items.Add(new ListItem(categoryName, categoryId));
        }
        if (empresasCliente.Rows.Count == 0)
        {
            newName.Enabled = false;
            newDescription.Enabled = false;
            newPrice.Enabled = false;
            categoriesListAssign.Enabled = false;
            empresasList.Enabled = false;
            image1FileUpload.Enabled = false;
            image2FileUpload.Enabled = false;
            image3FileUpload.Enabled = false;
            createProduct.Enabled = false;
            msgLabel.Text = "<strong>Você precisa criar ao menos um anúncio de empresa para cadastrar produtos ou serviços.</strong><br />";
        }
        else
        {
            msgLabel.Visible = false;
            for (int i = 0; i < empresasCliente.Rows.Count; i++)
            {
                // obtain category id and name
                empresaId = empresasCliente.Rows[i]["empresaID"].ToString();
                empresaName = empresasCliente.Rows[i]["nome"].ToString();
                // populate the list boxes
                empresasList.Items.Add(new ListItem(empresaName, empresaId));
            }
        }
    }

    // Create a new product
    protected void createProduct_Click(object sender, EventArgs e)
    {
        DateTime agora = DateTime.Now;
        string location;

        string fileName1 = agora.ToString("dd_MM_yyyy_HH_mm_ss_") + image1FileUpload.FileName;
        string fileName2 = agora.ToString("dd_MM_yyyy_HH_mm_ss_") + image2FileUpload.FileName;
        string fileName3 = agora.ToString("dd_MM_yyyy_HH_mm_ss_") + image3FileUpload.FileName;
        string tb_filename1 = "tb_" + fileName1;
        if (image1FileUpload.FileName != "")
        {
            location = Server.MapPath("./ImagensProdutos/") + fileName1;
            // save image to server
            image1FileUpload.SaveAs(location);

            //create its thumbnail
            Thumbnail.Create(Server.MapPath(""), "ImagensProdutos", "ImagensProdutos", fileName1, 150, 140);

        }
        else
        {
            fileName1 = "sem_imagem.gif";
        }

        if (image2FileUpload.FileName != "")
        {
            location = Server.MapPath("./ImagensProdutos/") + fileName2;
            // save image to server
            image2FileUpload.SaveAs(location);
        }
        else
        {
            fileName2 = "sem_imagem.gif";
        }

        if (image3FileUpload.FileName != "")
        {
            fileName3 = image3FileUpload.FileName;
            location = Server.MapPath("./ImagensProdutos/") + fileName3;
            // save image to server
            image3FileUpload.SaveAs(location);
        }
        else
        {
            fileName3 = "sem_imagem.gif";
        }
        // Execute the insert command
        bool success = CatalogAccess.CreateProduct(categoriesListAssign.SelectedItem.Value, empresasList.SelectedItem.Value, newName.Text, newDescription.Text, newPrice.Text, fileName1, 
            fileName2, fileName3,tb_filename1, "False", "False");
        // Display status message
        statusLabel.Text = success ? "Anúncio criado com sucesso." : "Erro na criação do anúncio.";
        // Redirect to AdminAnuncio.aspx
        Response.Redirect("Mensagens.aspx?n=2");
    }
    
}